A flow control feature has been adopted by the third generation partnership project 2 (“3GPP2”) standards that allows the packet control function (PCF) of the radio network (RN) to temporarily stop the flow of data from the packet data serving node (“PDSN”), as defined in 3GPP2 A.S0011-0017 and its revisions, and in 3GPP2 contribution A00-20040607-034 (including A00-20040607-034a, A00-20040607-034b, and A00-20040607-034c), the contents of which are hereby incorporated by reference. The proposal allows the radio network to send a flow control XOFF event to stop data transmission between a mobile station and the radio network. Events which can trigger this XOFF event include RN buffer overflow, hard handoff, paging failure, or voice precedence over packet (“VPOP”), among others.
According to the proposal, as a result of the XOFF event, the PDSN may temporarily stop the flow of data to the RN. In the current provision of TIA-835-D (X.P0011D), an optional flow control buffering capability has been added to the PDSN. This would allow the PDSN to buffer packets during the flow control event, which could last for a predetermined time period, for example 25 seconds.
The problem with the above solution is in cases where the buffering takes place for a longer period of time than an application layer retry timer on a push function. Specifically, a push function requires acknowledgement of packets sent and if these packets are not acknowledged within the duration of the retry timer, the packets are resent.
The push initiator protocol retry timer can be set depending on the type of service, the air interface or processing times of mobile devices. In the case where a retry timer is shorter than the duration of buffering at the PDSN, duplicate packets would be delivered to the PDSN and stored in the buffer. Once the flow control event has ceased, the buffer contents would be transmitted to the mobile device, including all of the redundant packets in the buffer.
As will be appreciated by those skilled in the art, the sending of redundant packets is costly from a number of points. Redundant packets waste network resources, the receiving and processing of these packets wastes battery life on the mobile station, if leased lines exist in the network between the push function and the PDSN, redundant packets increase the cost of this leased line, and duplicate packets could cause a cost to the end user.